#ifndef _USER_PROTOCOL_H
#define _USER_PROTOCOL_H


#include <Arduino.h>

// Arduino 串口协议解析 - K32 BLDC-CI1303 协议
// 协议格式：AA Addr Cmd Speed Position Reserved Checksum 55

#define FRAME_HEADER 0xAA
#define FRAME_TAIL 0x55
#define FRAME_LENGTH 8

// 命令字定义
enum Command {
  CMD_CLOSE = 0x01,     // 关盖/停止
  CMD_OPEN = 0x02,      // 开盖/翻开/停止
  CMD_STOP = 0x03,      // 停止（紧急停止）
  CMD_QUERY = 0x04      // 查询状态
};

// 设备地址定义
enum DeviceAddress {
  DEV_TOILET_COVER = 0x01,    // 马桶盖
  DEV_WASHER_COVER = 0x02     // 洗衣机盖
};

// 协议数据结构
struct ProtocolFrame {
  byte header;      // 0xAA
  byte address;     // 设备地址 + 方向位
  byte command;     // 命令字
  byte speed;       // 速度数据
  byte position;    // 位置数据
  byte reserved;    // 预留
  byte checksum;    // 校验和
  byte tail;        // 0x55
};

void processSerialData(void);



#endif /*_USER_PROTOCOL_H*/
